//
//  MultiTaskDown.swift
//  Pods
//
//  Created by 100Years on 2025/3/17.
//

//public extension TSCommonTool {
//    
//    /// 多任务下载并缓存文件，依据 URL 的后缀名动态设置文件名
//    /// - Parameters:
//    ///   - url: 文件的 URL 地址
//    ///   - completion: 完成回调，返回本地缓存路径或错误
//    public static func multidownloadAndCacheFile(
//        from urlString: String,
//        fileEx:String? = nil,
//     missingEx:String? = nil,
//        cacheDirectory:String = "cacheAll",
//        progressHandler: @escaping (Double) -> Void,
//        completion: @escaping (String?, Error?) -> Void) -> TSMultiTaskDownloader?
//    {
//        
//        guard let url = URL(string: urlString) else{
//            completion(nil, NSError(domain: "url null", code: 0))
//            return nil
//        }
//        
//    
//        guard let cachedFileURL = checkURLString(
//            from: urlString,
//            fileEx: fileEx,
//            missingEx: missingEx,
//            cacheDirectory: cacheDirectory,
//            completion: completion
//        ) else {
//            return nil
//        }
//        
//        let fileManager = FileManager.default
//        //检查文件是否已存在于缓存中
//        if fileManager.fileExists(atPath: cachedFileURL.path) {
//            print("文件已存在于缓存中: \(cachedFileURL)")
//            completion(cachedFileURL.path, nil)
//            return nil
//        }
//        
//        
//        let downloader = TSMultiTaskDownloader.shared
//        downloader.downloadFile(from: url, progressHandler: { progress in
//            print("Download progress for file1: \(progress * 100)%")
//            progressHandler(progress)
//        }, completionHandler: { tempFileURL, error in
//            if let error = error {
//                DispatchQueue.main.async {
//                    completion(nil, error)
//                }
//                return
//            }
//            
//            guard let tempFileURL = tempFileURL else {
//                DispatchQueue.main.async {
//                    completion(nil, NSError(domain: "DownloadError", code: -1, userInfo: [NSLocalizedDescriptionKey: "临时文件路径不存在"]))
//                }
//                return
//            }
//            
//            do {
//                if fileManager.fileExists(atPath: cachedFileURL.path) {
//                    try fileManager.removeItem(atPath:cachedFileURL.path)
//                    dePrint("下载成功,移除已有的旧文件: \(cachedFileURL)")
//                }
//                try fileManager.moveItem(at: tempFileURL, to: cachedFileURL)
//                dePrint("文件下载并缓存成功: \(cachedFileURL)")
//                DispatchQueue.main.async {
//                    completion(cachedFileURL.path, nil)
//                }
//            } catch {
//                dePrint("文件下载成功,但失败:\(error)")
//                DispatchQueue.main.async {
//                    completion(nil, error)
//                }
//            }
//        })
//        
//        return downloader
//    }
//    
//
//}
